Công nghệ Windows_Runtime

WinRT được triển khai theo ngôn ngữ lập trình C++[4] và được thiết kế theo mô hình hướng đối tượng.[4] Tiền thân của nó,, Windows API (Win32 API) được viết chủ yếu bằng C.[5] Đó là một giao diện lập trình ứng dụng mã (API) không được quản lý dựa trên Mô hình đối tượng thành phần (COM) cho phép giao tiếp từ nhiều ngôn ngữ, cũng như COM. Tuy nhiên, các định nghĩa API được lưu trữ trong các file .winmd, được mã hóa theo định dạng ECMA 335 metadata, mà.NET Framework cũng sử dụng với một vài sửa đổi.[6][7] Định dạng siêu dữ liệu phổ biến này cho phép ít hơn đáng kể chi phí hoạt động khi gọi WinRT từ các ứng dụng.NET, liên quan đến P/Invoke, và cú pháp đơn giản hơn nhiều.[8]Ngôn ngữ C++/CX (Component Extensions) mới, mượn một số cú pháp C++/CLI, cho phép viết và sử dụng các thành phần WinRT với ít mã hiển thị hơn cho lập trình viên, so với lập trình COM cổ điển trong C ++ và áp đặt ít hạn chế hơn so với C++/CLI về các loại trộn. Các phần mở rộng thành phần của C++/CX chỉ được khuyến nghị sử dụng tại ranh giới API, không dành cho các mục đích khác.[9] C++ thông thường (với đặc tả dành riêng cho COM) cũng có thể được sử dụng để lập trình với các thành phần WinRT,[10] với sự trợ giúp của Windows Runtime C++ Template Library (WRL), tương tự như mục đích mà Active Template Library cung cấp cho COM.[11]

Các ứng dụng WinRT chạy trong hộp cát và cần sự chấp thuận rõ ràng của người dùng để truy cập các tính năng quan trọng của hệ điều hành và phần cứng cơ bản. Quyền truy cập file bị giới hạn ở một số vị trí được xác định trước, chẳng hạn như thư mục Documents or Pictures.

Các ứng dụng WinRT cho Windows RT, Windows 8 trở lên được đóng gói ở định dạng file .appx; dựa trên Open Packaging Conventions, nó dùng một định dạng ZIP với các tệp XML được thêm vào.[12] Các ứng dụng WinRT được phân phối chủ yếu thông qua một cửa hàng ứng dụng có tên Microsoft Store, nơi phần mềm WinRT (được gọi là ứng dụng Windows Store) có thể được người dùng tải xuống và mua. Các ứng dụng WinRT chỉ có thể được tải từ bên ngoài Windows Store trên các hệ thống Windows 8 hoặc RT là một phần của miền Windows hoặc được trang bị khóa kích hoạt đặc biệt thu được từ Microsoft.[13][14][15][16]

Trong một sự khởi đầu lớn từ Win32 và tương tự như.NET Framework 4.5, hầu hết các API dự kiến sẽ mất nhiều thời gian để hoàn thành đều được triển khai dưới dạng không đồng bộ không đồng bộ. Ứng dụng gửi lệnh gọi API, trả về ngay lập tức, giải phóng ứng dụng để thực hiện các tác vụ khác trong khi chờ kết quả.[17] Mô hình không đồng bộ yêu cầu các cấu trúc ngôn ngữ lập trình mới (từ khóa async và toán tử await trong C # và Visual Basic, class task và method .then trong C++, được cung cấp bởi bộ phát triển phần mềm WinRT (SDK), từ khóa promise và function then JavaScript- HTML5), tương tự như try/catch dùng trong xử lý ngoại lệ.Các phần của API cần truy cập không đồng bộ bao gồm các tin nhắn và hộp thoại trên màn hình, truy cập file, kết nối Internet, ổ cắm, luồng, thiết bị và dịch vụ và lịch, danh bạ và cuộc hẹn.

Tài liệu tham khảo

WikiPedia: Windows_Runtime http://www.anandtech.com/show/4771/microsoft-build... http://www.codeproject.com/KB/cpp/WinRTVisualCppIn... http://www.infoq.com/news/2011/09/Design-Details-W... http://msdn.microsoft.com/en-US/windows/apps http://msdn.microsoft.com/en-US/windows/apps/ http://msdn.microsoft.com/en-us/library/bb384843.a... http://msdn.microsoft.com/en-us/library/windows/ap... http://msdn.microsoft.com/en-us/library/windows/ap... http://msdn.microsoft.com/en-us/library/windowspho... http://social.msdn.microsoft.com/Forums/windowsapp...